using System;
using Minecraft.Model.Enums;

namespace Minecraft.Model.mysql
{
	/// <summary>
	/// 
	/// </summary>
	public class AchievementModel
	{
		/// <summary>
		/// 
		/// </summary>
		public AchievementModel()
		{
			AchievementId = 0;
			PlayerId = 0;
			Level = 0;
			LastId = 0;
			Description = "";
			ConditionType = EnumAchievementConditionType.None;
			ConditionNum = 0;
			ConditionStatus = 0;
			Award1Id = 0;
			Award1Num = 0;
			Award1Got = 0;
			Award2Id = 0;
			Award2Num = 0;
			Award2Got = 0;
			StartTime = new DateTimeOffset(new DateTime(1900, 1, 1));
			FinishTime = new DateTimeOffset(new DateTime(1900, 1, 1));
			Status = 0;
		}
		/// <summary>
		/// 成就id
		/// </summary>
		public int AchievementId;
		/// <summary>
		/// 玩家id
		/// </summary>
		public int PlayerId;
		/// <summary>
		/// 成就显示的级别要求(下限)
		/// </summary>
		public int Level;
		/// <summary>
		/// 前置成就id
		/// </summary>
		public int LastId;
		/// <summary>
		/// 成就描述
		/// </summary>
		public string Description;
        /// <summary>
        /// 成就类型。
        /// 如
        /// 1是玩家达成一定等级
        /// 2是解锁一定数量的蓝图
        /// 以此类推。
        /// </summary>
        public EnumAchievementConditionType ConditionType;
		/// <summary>
		/// 达成成就需要的等级、蓝图、抵御尸潮次数等数目下限
		/// </summary>
		public int ConditionNum;
        /// <summary>
        /// 此成就当前完成的状态。
        /// 如是数量方面的，则是已完成的蓝图、等级、抵御尸潮次数等数值。
        /// </summary>
        public int ConditionStatus;
		/// <summary>
		/// 奖励1的物品的id
		/// </summary>
		public int Award1Id;
		/// <summary>
		/// 奖励1的物品的数目
		/// </summary>
		public int Award1Num;
		/// <summary>
		/// 奖励1是否已领取
		/// </summary>
		public int Award1Got;
		/// <summary>
		/// 奖励2的物品的id
		/// </summary>
		public int Award2Id;
		/// <summary>
		/// 奖励2的物品的数目
		/// </summary>
		public int Award2Num;
		/// <summary>
		/// 奖励2是否已领取
		/// </summary>
		public int Award2Got;
		/// <summary>
		/// 开始此成就的时间
		/// </summary>
		public DateTimeOffset StartTime;
		/// <summary>
		/// 完成此成就的时间
		/// </summary>
		public DateTimeOffset FinishTime;
        /// <summary>
        /// 此成就的完成状态。
        /// 0是未开始，1是已开始进行中，2是已完成
        /// </summary>
        public int Status;
	}
}
